package com.ctshk.rpc.ship.service;


import com.ctshk.common.dto.Result;
import com.ctshk.rpc.ship.dto.*;
import com.ctshk.rpc.ship.req.*;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 船票产品 服务类
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-03-05
 */
public interface ZJShipProductService {

    /**
     * 获取所有航线保存入库
     * @return
     */
    Map<String, Object> getShippingLine();

    /**
     * 获取所有航线里面的产品信息
     * @return
     */
    Map<String, Object> getVoyage();

    /**
     * 获取所有座位API
     */
    void initializeZJShipProductSeat();


    /**
     * 查询珠江往返船票
     * @return
     */
    List<ShipApiProductTypeListDTO> queryVoyage(ShipZJProductApiReq shipZJProductApiReq);
    /**
     * 实时查询珠江单程船票
     * @return
     */
    List<ShipApiProductTypeListDTO> queryVoyageShipOWTrip(ShipZJProductApiReq shipZJProductApiReq);

    /**
     * 提交实名制订单
     */
    Result<List<Map<String, Object>>> submitShipProduct(ShipZJProductApiSubmitReq shipZJProductApiSubmitReq);

    /**
     * 释放座位
     * @param id
     * @return
     */
    Result releaseTicket(String id);

    /**
     * 实名制提交确认订单
     * @param id
     * @return
     */
    Result confirmBookingRn(String id,String orderId);
}
